草庐IT

Java SE - 集合

全部标签

c# - 为什么我可以使用集合初始值设定项和来自另一个类的私有(private)集合访问?

考虑以下代码:publicsealedclassOrder{publicOrder(){Items=newList();}publicListItems{get;privateset;}}publicsealedclassOrderItem{}这里是另一个类中的Order初始化。varorder=newOrder{Items={newOrderItem(),newOrderItem()}};您能解释一下它为什么有效吗?如您所见,Order具有privateset属性,所以我认为不可能设置它的值。 最佳答案 您的语句之所以有效,是因为

c# - 从 SQL 数据库表中读取数据到通用集合

我想从一个表(包含3行)中读取所有数据并将所有数据添加到通用集合中。我想从集合中绑定(bind)到gridview。下面显示的代码有效,但在gridview中只显示最后一行3次。你能帮帮我吗?我是初学者protectedvoidPage_Load(objectsender,EventArgse){Listlistid=newList();Studentstud=newStudent();SqlConnectioncon=newSqlConnection("........");stringsql="select*fromStudentInfo";con.Open();SqlComman

c# - 优雅的方式来处理在 C# 中的集合中找不到的项目

我有以下场景:我有一个循环遍历集合的foreach循环,如果找到一个项目(基于下面示例中的条件),它将返回该项目。如果不是,处理这个异常的最优雅的方法是什么。我有一个thrownewnotimplementedexception但我认为有一种更优雅的方法。代码是:foreach(SPContentTypetypeinsPContentTypeCollection){if(type.Name==contentTypeName){returntype;}}thrownewNotImplementedException();如您所见,这不是我所说的可读代码。我怎样才能让下一个人更容易维护。顺

c# - 值类型存储在 (C#) 泛型集合中的什么位置

的确,对于值类型,泛型集合比非泛型集合表现得更好。(即List与ArrayList)。但为什么会这样,除了装箱-拆箱步骤?一旦添加到集合中,值类型对象存储在哪里?在非泛型集合中,它们会被装箱并存储在堆上,泛型有什么不同? 最佳答案 在泛型中,例如List,它们仍然存储在堆中。不同之处在于,在内部,一个List制作一个整数数组,并可以直接存储数字。使用ArrayList,您最终会存储一个对装箱整数值的引用数组。 关于c#-值类型存储在(C#)泛型集合中的什么位置,我们在StackOverf

c# - 在自定义类型上使用集合初始化语法?

我有一个很大的静态列表,它基本上是一个查找表,所以我用代码初始化了这个表。privateclassMyClass{privateclassLookupItem{publicintParam1{get;set;}publicintParam2{get;set;}publicfloatParam2{get;set;}publicfloatParam4{get;set;}}privatestaticList_lookupTable=newList(){newLookupItem(){Param1=1,Param2=2,Param3=3Param4=4},newLookupItem(){Par

c# - UserControl 集合未标记为可序列化

我一定是遗漏了一些非常明显的东西。我是C#的新手,但多年来一直使用C/C++进行编程,如果有明显的问题,我深表歉意;)[请参阅编辑以了解较新的问题]我正在尝试创建一个包含UserControl的节点。我让Control出现在WinForm设计器中,我可以向它添加节点。但是,当我尝试运行代码时,出现以下错误:Codegenerationforproperty'Nodes'failed.Errorwas:'TypeApp.Node'inAssembly'App,version=1.0.0.0,Culture=neutral,PublicKeyToken=null'isnotmarkedas

c# - ASP.Net MVC - 集合未在回发时填充的模型

我有一个ASP.NetMVC应用程序,它有一个包含一个集合的多层模型。我相信创建对象的View都已正确设置,但当我将表单发布到服务器时,它只是没有填充模型中的集合。我在类层次结构中找到了一段数据:person.PersonDetails.ContactInformation[0].Data;该类结构由LinqToSQL创建,ContactInformation类型为EntitySet.为了创建View,我传递了以下内容:returnView(person);在View中我有一个表单,其中包含一个文本框,其名称与上述字段相关联:我的Controller中的post方法如下:[Accept

c# - 如何使用 LINQ 方法语法计算子集合的项数?

假设我有一个模式,表示问题实体。每个问题都可以投赞成票、投反对票,或者当然,根本不投票——就像在StackOverflow中一样。我想获得给定用户的投票数。intnumber=(fromqinuserDbContext.Questionsfromqvinq.QuestionVoteswhereqv.IsVoteUpselectqv).Count();我想编写相同的查询,但使用方法语法。我如何使用相同的示例执行此操作? 最佳答案 您可以使用SelectMany:userDbContext.Questions.SelectMany(x=

c# - LINQ 项目总和集合以返回带有结果的对象(多列)

我知道我可以使用foreach执行以下操作,但想知道是否有一种使用LINQ执行此操作的干净且“更性感”的方法。publicclassitem{publicinttotal{get;set;}publicintnet{get;set;}}classProgram{staticvoidMain(string[]args){Listitems=newList(){newitem(){total=123,net=423},newitem(){total=432,net=54},newitem(){total=33,net=57654},newitem(){total=33,net=423},n

c# - C# 泛型如何影响具有原语的集合

据我了解,C#/.Net泛型支持某种程度的具体化。所以,如果我有以下代码:Listlist=newList();list.Add(1);值1会被自动装箱还是“列表”对象会有效地处理原始整数? 最佳答案 不,它不会装箱。在执行时,List的后备数组将真正成为int[].请注意,这不仅仅是真正的原始类型的情况-List不会装箱任何值类型的值(假设它被声明为List等而不是List)。基本上,.NET中的泛型比它们在Java中保存的信息多得多-CLRnative理解泛型并适本地处理它们,而不是在JVM几乎不了解泛型的Java中。例如,如果